package test_error

type DNSError struct {
	Url  string
	Time int64
	Msg  string
}

func (d DNSError) URLError() string {
	return d.Url
}

func (d DNSError) TimeOut() bool {
	return d.Time >= 3000
}

func (d DNSError) ErrorMsg() string {
	return d.Msg
}

func (d DNSError) Error() string {
	return d.Msg
}

func test() (string, error) {
	defer func() {
		if err := recover(); err != nil {
			// 此处err就可以转为具体类型
		}
	}()

	// 返回自定义错误
	return "", DNSError{Msg: "error msg", Time: 3000, Url: "http://baidu.com"}
}

func testArray() {

}
